<template tag="以下文档内容为hycli自动生成">
  <div style="height: 100%">
    <div style="margin:0.8rem;"><h5 style="display:inline">研发计划</h5><span style="margin-left: 0.5rem; color:#999"> 确定了迭代周期的研发计划</span>
        <ddmenu :menuList="lob_idList" @valueChanged="onlob_idChange" v-model="form_aaabf.lob_id" menuType="my_business_line" ></ddmenu>
    </div>
    <hr style="margin-top:0;color:#999"/>
<div class="query">
    
    <div class="tabs">
        <el-tabs v-model="form_aaabf.archive_status"  @tab-change="onQuery">
            <el-tab-pane v-for="item in archive_statusTabList" :name="item.value" :key="item.value" :label="item.name" 
             ></el-tab-pane>
          </el-tabs>
    </div>
    <el-form :model="form_aaabf" inline >
        <!-- 日期控件个数： 8 -->
        <el-form-item>
            <!--多日期范围控件 -->
            <el-select v-model="form_aaabf.single_date_range_name" filterable placeholder="日期类型" style="width:120px;" class="prepend">
                <el-option
                v-for="item in multiQueryDateRange"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              />
        </el-select>
            <el-date-picker :shortcuts="shortcuts" style="width: 200px" v-model="form_aaabf.single_date_range_value" type="daterange" start-placeholder="开始日期"
                end-placeholder="结束日期" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
        </el-form-item>
        <!--系统 选择树 -->
        <el-form-item>
           <el-cascader ref="cascader_aaaah" style="width: 150px"
           v-model="form_aaabf.system" 
           placeholder="请选择系统"
           collapse-tags  collapse-tags-tooltip  clearable   :options="systemList"
           :props="{  children: 'children', label: 'name' }" />
       </el-form-item>
        <!--研发 下拉控件多选 -->
        <el-form-item>
            <el-select v-model="form_aaabf.dmaster" filterable clearable multiple collapse-tags  style="width: 140px"
            collapse-tags-tooltip placeholder="研发">
                <el-option v-for="item in dmasterList" :key="item.value" :label="item.name" :value="item.value" />
            </el-select>
        </el-form-item>
        <!--项目状态 下拉控件多选 -->
        <el-form-item>
            <el-select v-model="form_aaabf.pmstatus" filterable clearable multiple collapse-tags  style="width: 140px"
            collapse-tags-tooltip placeholder="项目状态">
                <el-option v-for="item in pmstatusList" :key="item.value" :label="item.name" :value="item.value" />
            </el-select>
        </el-form-item>
        <!-- 控件个数：[{"index":6,"raw":"name","name":"name","cname":"Name","type":{"raw":"varchar2(48)","name":"varchar2","len":48,"dlen":0},"defValue":"","allowNull":false,"constraints":["c","l","u","le","q","DN","v","ROW(1)","lw(160)","arc","#like","@title"],"desc":{"raw":"名称","name":"名称"}} {"index":18,"raw":"content","name":"content","cname":"Content","type":{"raw":"varchar2(2000)","name":"varchar2","len":2000,"dlen":0},"defValue":"","allowNull":false,"constraints":["ROW(4)","q","c","le","u","v","rows(3)","#like","tp(rtext,c-u)"],"desc":{"raw":"内容","name":"内容"}} {"index":26,"raw":"sponsor","name":"sponsor","cname":"Sponsor","type":{"raw":"varchar2(32)","name":"varchar2","len":32,"dlen":0},"defValue":"","allowNull":true,"constraints":["q","c","u","le","v","rows(1)"],"desc":{"raw":"发起人","name":"发起人"}}] -->
         <el-form-item>
            <el-input clearable style="width: 180px" v-model="form_aaabf.single_text_value" maxlength="32"
                placeholder="关键字" >
                <template #prepend>
                    <el-select v-model="form_aaabf.single_text_name" placeholder="查询类型" style="width:84px;">
                        <el-option
                        v-for="item in multiQueryText"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                      />
                      </el-select>
                  </template>
            </el-input>
        </el-form-item>

        <span class="ddl">
        </span>
        <el-form-item>
            <el-space wrap>
                <el-button type="primary" icon="Search" @click="onQuery(true)">查询</el-button>
            </el-space>
        </el-form-item>
        
        <div class="blist">
            <el-button-group>
                <el-button :type="$js.page.tagColor(0)" v-if='
                form_aaabf.archive_status==1'
                
                 icon="Plus"  @click="show_cmpnt_aaabm">添加研发计划</el-button>
                <el-button :type="$js.page.tagColor(1)" v-if='
                form_aaabf.archive_status==1'
                 :disabled="bcheck.length==0" 
                 icon="clock"  @click="show_cmpnt_aaabq">计划时间</el-button>
                <el-button :type="$js.page.tagColor(2)" v-if='
                form_aaabf.archive_status==1'
                 :disabled="bcheck.length==0" 
                 icon="switch"  @click="show_cmpnt_aaabr">状态变更</el-button>
                <el-button :type="$js.page.tagColor(0)" v-if='
                form_aaabf.archive_status==1'
                 :disabled="bcheck.length==0" 
                 icon="star"  @click="show_cmpnt_aaabn">上线发布</el-button>
                <el-button :type="$js.page.tagColor(1)" v-if='
                form_aaabf.archive_status==1'
                 :disabled="bcheck.length==0" 
                 icon="check"  @click="show_cmpnt_aaabo">任务归档</el-button>
                <el-button :type="$js.page.tagColor(2)" v-if='
                form_aaabf.archive_status==0'
                 :disabled="bcheck.length==0" 
                 icon="check"  @click="show_cmpnt_aaabp">激活计划</el-button>
            </el-button-group>
        </div>

        <!-- xtabs -->
        

    </el-form>
</div>
<div>
   <aabdq ref="cmpnt_aabdq" @onsaved="onQuery"></aabdq>
   <aabdr ref="cmpnt_aabdr" @onsaved="onQuery"></aabdr>
   <aaaiu ref="cmpnt_aaaiu" @onsaved="onQuery"></aaaiu>
   <aabdx ref="cmpnt_aabdx" @onsaved="onQuery"></aabdx>
   <aabdk ref="cmpnt_aabdk" @onsaved="onQuery"></aabdk>
   <aabdw ref="cmpnt_aabdw" @onsaved="onQuery"></aabdw>
   <aabdv ref="cmpnt_aabdv" @onsaved="onQuery"></aabdv>
   <aabdl ref="cmpnt_aabdl" @onsaved="onQuery"></aabdl>
   <aabdu ref="cmpnt_aabdu" @onsaved="onQuery"></aabdu>
   <aaacu ref="cmpnt_aaacu" @onsaved="onQuery"></aaacu>
   <aaawe ref="cmpnt_aaawe" @onsaved="onQuery"></aaawe>
   <aabdh ref="cmpnt_aabdh" @onsaved="onQuery"></aabdh>
   <aabdi ref="cmpnt_aabdi" @onsaved="onQuery"></aabdi>
   <aaagc ref="cmpnt_aaagc" @onsaved="onQuery"></aaagc>
   <aaaku ref="cmpnt_aaaku" @onsaved="onQuery"></aaaku>
   <aabdj ref="cmpnt_aabdj" @onsaved="onQuery"></aabdj>
   <aabdt ref="cmpnt_aabdt" @onsaved="onQuery"></aabdt>
   <aabds ref="cmpnt_aabds" @onsaved="onQuery"></aabds>
   <aabdp ref="cmpnt_aabdp" @onsaved="onQuery"></aabdp>
   <aabdm ref="cmpnt_aabdm" @onsaved="onQuery"></aabdm>
   <aabdn ref="cmpnt_aabdn" @onsaved="onQuery"></aabdn>
   <aaaed ref="cmpnt_aaaed" @onsaved="onQuery"></aaaed>
   <aabdo ref="cmpnt_aabdo" @onsaved="onQuery"></aabdo>
   <aaabm ref="cmpnt_aaabm" @onsaved="onQuery"></aaabm>
   <aaabl ref="cmpnt_aaabl" @onsaved="onQuery"></aaabl>
   <aaabq ref="cmpnt_aaabq" @onsaved="onQuery"></aaabq>
   <aaabi ref="cmpnt_aaabi" @onsaved="onQuery"></aaabi>
   <aaabr ref="cmpnt_aaabr" @onsaved="onQuery"></aaabr>
   <aaabn ref="cmpnt_aaabn" @onsaved="onQuery"></aaabn>
   <aaabo ref="cmpnt_aaabo" @onsaved="onQuery"></aaabo>
   <aaabp ref="cmpnt_aaabp" @onsaved="onQuery"></aaabp>
   <aaabh ref="cmpnt_aaabh" @onsaved="onQuery"></aaabh>
   <aaabk ref="cmpnt_aaabk" @onsaved="onQuery"></aaabk>
   <aaabg ref="cmpnt_aaabg" @onsaved="onQuery"></aaabg>
</div>
<div class="list">
    <el-table :data="dataList_aaabf"
    @selection-change="handleSelectionChange" 
    v-loading="conf.loading" stripe  style="width: 100%;height:calc(100vh - 160px)"
         empty-text="无数据">le
<el-table-column width="24px" type="expand">
    <template #default="view">
        <el-row :gutter="24">
            <el-col :span="5" class="text-right" style="min-height:26px">编号:</el-col>
            <el-col :span="7" v-text="view.row.le_plan_id" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">名称:</el-col>
            <el-col :span="7" v-html="view.row.le_name||'-'" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">系统:</el-col>
            <el-col :span="7" v-text="view.row.system_label" style="min-height:26px"
              ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">来源:</el-col>
            <el-col :span="7" v-text="view.row.source_label" style="min-height:26px"
              ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">优先级:</el-col>
            <el-col :span="7" v-text="view.row.priority_label" style="min-height:26px"
              :class="$js.page.colorful(view.row.priority,'priority')" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">产品:</el-col>
            <el-col :span="7" v-text="view.row.pmaster_label" style="min-height:26px"
              :class="$js.page.colorful(view.row.pmaster,'pmaster')" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">研发:</el-col>
            <el-col :span="7" v-text="view.row.dmaster_label" style="min-height:26px"
              ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">测试:</el-col>
            <el-col :span="7" v-text="view.row.tmaster_label" style="min-height:26px"
              :class="$js.page.colorful(view.row.tmaster,'tmaster')" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">部署:</el-col>
            <el-col :span="7" v-text="view.row.omaster_label" style="min-height:26px"
              ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">项目状态:</el-col>
            <el-col :span="7" v-text="view.row.pmstatus_label" style="min-height:26px"
              :class="$js.page.colorful(view.row.pmstatus,'pmstatus')" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">研发状态:</el-col>
            <el-col :span="7" v-text="view.row.dstatus_label" style="min-height:26px"
              :class="$js.page.colorful(view.row.dstatus,'dstatus')" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">创建时间:</el-col>
            <el-col :span="7" v-text="view.row.le_create_time" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">创建人:</el-col>
            <el-col :span="7" v-text="view.row.creator_label" style="min-height:26px"
              ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">内容:</el-col>
            <el-col :span="7" v-html="view.row.le_content||'-'" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">需求评估:</el-col>
            <el-col :span="7" v-text="view.row.le_req_ass_time" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">方案评审:</el-col>
            <el-col :span="7" v-text="view.row.le_tch_sol_ass_time" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">用例评审:</el-col>
            <el-col :span="7" v-text="view.row.le_test_case_time" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">联调开始:</el-col>
            <el-col :span="7" v-text="view.row.le_join_test_time" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">提测截止:</el-col>
            <el-col :span="7" v-text="view.row.le_checkin_test_time" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">测试完成:</el-col>
            <el-col :span="7" v-text="view.row.le_complete_test_time" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">计划上线:</el-col>
            <el-col :span="7" v-text="view.row.le_prod_deploy_time" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">发起人:</el-col>
            <el-col :span="7" v-text="view.row.le_sponsor" style="min-height:26px" ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">业务线:</el-col>
            <el-col :span="7" v-text="view.row.lob_id_label" style="min-height:26px"
              ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">归档状态:</el-col>
            <el-col :span="7" v-text="view.row.archive_status_label" style="min-height:26px"
              ></el-col>
            <el-col :span="5" class="text-right" style="min-height:26px">归档时间:</el-col>
            <el-col :span="7" v-text="view.row.le_archive_time" style="min-height:26px" ></el-col>
        </el-row>
    </template>
</el-table-column>
          <el-table-column type="selection" width="32" /> 
        	<!--plan_id text -->
        <el-table-column  show-overflow-tooltip   min-width="60"   align="center" label="编号" >
            <template #default="scope">
                  <span>{{ scope.row.plan_id||'-' }}</span>
              </template>
        </el-table-column>
        	<!--name text -->
        <el-table-column  show-overflow-tooltip   min-width="160"   align="center" label="名称" >
            <template #default="scope">
                  <span>{{ scope.row.name||'-' }}</span>
              </template>
        </el-table-column>
        	<!--system select -->
        <el-table-column   v-if="$size.gt('m')"    prop="system" align="center" label="系统">
            <template #default="scope">
                <span 
                    v-text="scope.row.system_label"></span>
            </template>
        </el-table-column>
        	<!--priority tag -->
        <el-table-column  :filters="priorityList" :filter-method="$js.page.columnfilter" column-key="priority"    min-width="80"  prop="priority" align="center" label="优先级">
            <template #default="scope">
                <el-tag :type="$js.page.tagColor(scope.row.priority,'priority')" round v-text="scope.row.priority_label"  ></el-tag>
            </template>
        </el-table-column>
        	<!--pmaster radio -->
        <el-table-column  :filters="pmasterList" :filter-method="$js.page.columnfilter" column-key="pmaster"    min-width="60"   prop="pmaster" align="center" label="产品">
            <template #default="scope">
                <span :class="$js.page.colorful(scope.row.pmaster,'pmaster')" 
                    v-text="scope.row.pmaster_label"></span>
            </template>
        </el-table-column>
        	<!--dmaster select -->
        <el-table-column  :filters="dmasterList" :filter-method="$js.page.columnfilter" column-key="dmaster"    min-width="60"   prop="dmaster" align="center" label="研发">
            <template #default="scope">
                <span 
                    v-text="scope.row.dmaster_label"></span>
            </template>
        </el-table-column>
        	<!--tmaster radio -->
        <el-table-column  :filters="tmasterList" :filter-method="$js.page.columnfilter" column-key="tmaster"    min-width="80"   prop="tmaster" align="center" label="测试">
            <template #default="scope">
                <span :class="$js.page.colorful(scope.row.tmaster,'tmaster')" 
                    v-text="scope.row.tmaster_label"></span>
            </template>
        </el-table-column>
        	<!--pmstatus select -->
        <el-table-column  :filters="pmstatusList" :filter-method="$js.page.columnfilter" column-key="pmstatus"    min-width="80"   prop="pmstatus" align="center" label="项目状态">
            <template #default="scope">
                <span :class="$js.page.colorful(scope.row.pmstatus,'pmstatus')" 
                    v-text="scope.row.pmstatus_label"></span>
            </template>
        </el-table-column>
        	<!--dstatus tag -->
        <el-table-column  :filters="dstatusList" :filter-method="$js.page.columnfilter" column-key="dstatus"    prop="dstatus" align="center" label="研发状态">
            <template #default="scope">
                <el-tag :type="$js.page.tagColor(scope.row.dstatus,'dstatus')" round v-text="scope.row.dstatus_label"  ></el-tag>
            </template>
        </el-table-column>
        	<!--checkin_test_time daterange -->
        <el-table-column  v-if="$size.gt('m')"  show-overflow-tooltip    align="center" label="提测截止" >
            <template #default="scope">
                  <span>{{ scope.row.checkin_test_time||'-' }}</span>
              </template>
        </el-table-column>
        	<!--prod_deploy_time daterange -->
        <el-table-column  show-overflow-tooltip    align="center" label="计划上线" >
            <template #default="scope">
                  <span>{{ scope.row.prod_deploy_time||'-' }}</span>
              </template>
        </el-table-column>
        	<!--progress progress -->
        <el-table-column   min-width="100"  align="center" label="进度">
            <template #default="scope">
                <el-progress :stroke-width="4"   :percentage="scope.row.progress_progress" :color="conf.progressColor" />
            </template>
        </el-table-column>

<el-table-column fixed="right" align="center" label="操作" width="180">
    <template #default="scope">
        <div class="opts">
            <el-button   type="text" @click="show_cmpnt_aaabl(scope.row)" >详情 </el-button>
            <el-button   type="text" @click="show_cmpnt_aaabi(scope.row)" >编辑 </el-button>
            <el-dropdown  @command="(command) => show_cmpnt(command, scope.row)">
                <span class="el-dropdown-link">
                更多
                </span>
                <template #dropdown>
                  <el-dropdown-menu>
            <el-dropdown-item command="aaabg"  v-if='
            scope.row.archive_status==1'>暂停 </el-dropdown-item>
            <el-dropdown-item command="aaabh"  v-if='
            scope.row.archive_status==9'>恢复 </el-dropdown-item>
            <el-dropdown-item command="aaabk"  v-if='
            scope.row.archive_status==9'>删除 </el-dropdown-item>
                </el-dropdown-menu>
            </template>
            </el-dropdown>
        </div>
    </template>
</el-table-column>
    </el-table>
    <el-pagination :currentPage="form_aaabf.pi" :page-size="form_aaabf.ps"
        style="position: absolute; right: 30px;bottom:6px;" :page-sizes="[10,15,20,30, 50, 100]" :background="false" small
        layout="total,sizes,prev, pager, next, jumper" :total="total_aaabf" @size-change="handleSizeChange"
        @current-change="handleCurrentChange" />
</div>
  </div>
</template>
<script>
// 分配开发任务
import aabdq from "@/views/ws/dev/dev_task.add"
// 编辑
import aabdr from "@/views/ws/dev/dev_task.edit"
// 删除
import aaaiu from "@/views/ws/dev/dev_risk.cnfrm"
// 编辑
import aabdx from "@/views/ws/dev/dev_risk.edit"
// 项目设计
import aabdk from "@/views/ws/project/project_design.add"
// 添加风险记录
import aabdw from "@/views/ws/dev/dev_risk.add"
// 编辑
import aabdv from "@/views/ws/dev/dev_deploy.edit"
// 编辑
import aabdl from "@/views/ws/project/project_design.edit"
// 上线方案
import aabdu from "@/views/ws/dev/dev_deploy.add"
// 删除
import aaacu from "@/views/ws/project/project_design.cnfrm"
// 删除
import aaawe from "@/views/ws/test/test_task.cnfrm"
// 添加文档
import aabdh from "@/views/ws/dev/dev_docs.add"
// 编辑
import aabdi from "@/views/ws/dev/dev_docs.edit"
// 删除
import aaagc from "@/views/ws/dev/dev_docs.cnfrm"
// 关联需求
import aaaku from "@/views/ws/prod/prod_requirement.dialog"
// 编辑
import aabdj from "@/views/ws/prod/prod_requirement.edit"
// 编辑
import aabdt from "@/views/ws/test/test_task.edit"
// 分配测试任务
import aabds from "@/views/ws/test/test_task.add"
// 编辑
import aabdp from "@/views/ws/dev/dev_task.edit"
// 分配开发任务
import aabdm from "@/views/ws/dev/dev_task.add"
// 编辑
import aabdn from "@/views/ws/dev/dev_task.edit"
// 删除
import aaaed from "@/views/ws/dev/dev_task.cnfrm"
// 分配开发任务
import aabdo from "@/views/ws/dev/dev_task.add"
// 添加研发计划
import aaabm from "@/views/ws/dev/dev_plan.add"
// 详情
import aaabl from "@/views/ws/dev/dev_plan.view"
// 计划时间
import aaabq from "@/views/ws/dev/dev_plan.dialog"
// 编辑
import aaabi from "@/views/ws/dev/dev_plan.edit"
// 状态变更
import aaabr from "@/views/ws/dev/dev_plan.dialog"
// 上线发布
import aaabn from "@/views/ws/dev/dev_deploy.add"
// 任务归档
import aaabo from "@/views/ws/dev/dev_plan.cnfrm"
// 激活计划
import aaabp from "@/views/ws/dev/dev_plan.cnfrm"
// 恢复
import aaabh from "@/views/ws/dev/dev_plan.cnfrm"
// 删除
import aaabk from "@/views/ws/dev/dev_plan.cnfrm"
// 暂停
import aaabg from "@/views/ws/dev/dev_plan.cnfrm"
// 业务线
import ddmenu from "@/views/cmpnts/ddMenu.vue"



export default {
components: {
    aabdq,
    aabdr,
    aaaiu,
    aabdx,
    aabdk,
    aabdw,
    aabdv,
    aabdl,
    aabdu,
    aaacu,
    aaawe,
    aabdh,
    aabdi,
    aaagc,
    aaaku,
    aabdj,
    aabdt,
    aabds,
    aabdp,
    aabdm,
    aabdn,
    aaaed,
    aabdo,
    aaabm,
    aaabl,
    aaabq,
    aaabi,
    aaabr,
    aaabn,
    aaabo,
    aaabp,
    aaabh,
    aaabk,
    aaabg,
     ddmenu,
},
data() {
  return {
    shortcuts: this.$js.page.latestDays(),
    cmpnt_funcs:{},
    bcheck:[],
    conf: {
      loading: false,
      progressColor: this.$theia.env.conf.progress || []
    },
    ganttIdx: -1,
        form_aaabf: {
            pi: 1,
            ps: 15,
            disabled:false,
            single_date_range_name:"",
            single_date_range_value:[],
            single_text_name:"",
            single_text_value:"",
            name:"",
            system:"",
            dmaster:[],
            pmstatus:[],
            create_time:"",
            content:"",
            req_ass_time:"",
            tch_sol_ass_time:"",
            test_case_time:"",
            join_test_time:"",
            checkin_test_time:"",
            complete_test_time:"",
            prod_deploy_time:"",
            sponsor:"",
            lob_id:"",
            archive_status:"",
            },
            systemList:[],
            sourceList:[],
            priorityList:[],
            pmasterList:[],
            dmasterExts:[],
            dmasterList:[],
            tmasterList:[],
            omasterList:[],
            pmstatusExts:[],
            pmstatusList:[],
            dstatusExts:[],
            dstatusList:[],
            creatorList:[],
            lob_idList:[],
            archive_statusList:[],
            archive_statusTabList:[],
            dataList_aaabf:[],
            multiQueryDateRange:[{label:"创建时间",value:"create_time"},{label:"需求评估",value:"req_ass_time"},{label:"方案评审",value:"tch_sol_ass_time"},{label:"用例评审",value:"test_case_time"},{label:"联调开始",value:"join_test_time"},{label:"提测截止",value:"checkin_test_time"},{label:"测试完成",value:"complete_test_time"},{label:"计划上线",value:"prod_deploy_time"},],
            multiQueryText:[{label:"名称",value:"name"},{label:"内容",value:"content"},{label:"发起人",value:"sponsor"},],
            total_aaabf:0,
            note_dataList:[],
};
  },
mounted() {
  this.loadEnums_aaabf()
  this.form_aaabf.lob_id = this.$theia.user.get("lob_id")
  this.form_aaabf.single_date_range_name = (this.multiQueryDateRange[0]||{}).value
  this.form_aaabf.single_text_name = (this.multiQueryText[0]||{}).value
  this.cmpnt_funcs["aabdq"] = this.show_cmpnt_aabdq
  this.cmpnt_funcs["aabdr"] = this.show_cmpnt_aabdr
  this.cmpnt_funcs["aaaiu"] = this.show_cmpnt_aaaiu
  this.cmpnt_funcs["aabdx"] = this.show_cmpnt_aabdx
  this.cmpnt_funcs["aabdk"] = this.show_cmpnt_aabdk
  this.cmpnt_funcs["aabdw"] = this.show_cmpnt_aabdw
  this.cmpnt_funcs["aabdv"] = this.show_cmpnt_aabdv
  this.cmpnt_funcs["aabdl"] = this.show_cmpnt_aabdl
  this.cmpnt_funcs["aabdu"] = this.show_cmpnt_aabdu
  this.cmpnt_funcs["aaacu"] = this.show_cmpnt_aaacu
  this.cmpnt_funcs["aaawe"] = this.show_cmpnt_aaawe
  this.cmpnt_funcs["aabdh"] = this.show_cmpnt_aabdh
  this.cmpnt_funcs["aabdi"] = this.show_cmpnt_aabdi
  this.cmpnt_funcs["aaagc"] = this.show_cmpnt_aaagc
  this.cmpnt_funcs["aaaku"] = this.show_cmpnt_aaaku
  this.cmpnt_funcs["aabdj"] = this.show_cmpnt_aabdj
  this.cmpnt_funcs["aabdt"] = this.show_cmpnt_aabdt
  this.cmpnt_funcs["aabds"] = this.show_cmpnt_aabds
  this.cmpnt_funcs["aabdp"] = this.show_cmpnt_aabdp
  this.cmpnt_funcs["aabdm"] = this.show_cmpnt_aabdm
  this.cmpnt_funcs["aabdn"] = this.show_cmpnt_aabdn
  this.cmpnt_funcs["aaaed"] = this.show_cmpnt_aaaed
  this.cmpnt_funcs["aabdo"] = this.show_cmpnt_aabdo
  this.cmpnt_funcs["aaabm"] = this.show_cmpnt_aaabm
  this.cmpnt_funcs["aaabl"] = this.show_cmpnt_aaabl
  this.cmpnt_funcs["aaabq"] = this.show_cmpnt_aaabq
  this.cmpnt_funcs["aaabi"] = this.show_cmpnt_aaabi
  this.cmpnt_funcs["aaabr"] = this.show_cmpnt_aaabr
  this.cmpnt_funcs["aaabn"] = this.show_cmpnt_aaabn
  this.cmpnt_funcs["aaabo"] = this.show_cmpnt_aaabo
  this.cmpnt_funcs["aaabp"] = this.show_cmpnt_aaabp
  this.cmpnt_funcs["aaabh"] = this.show_cmpnt_aaabh
  this.cmpnt_funcs["aaabk"] = this.show_cmpnt_aaabk
  this.cmpnt_funcs["aaabg"] = this.show_cmpnt_aaabg

  this.form_aaabf = Object.assign(this.form_aaabf,this.$route.params)
    },
 watch: {
    '$route' () {
      this.form_aaabf = Object.assign(this.form_aaabf,this.$route.params)
      this.onQuery();//我的初始化方法
    }
  },
methods: {
  ganttChange(id) {
      this.ganttIdx = id
    },

queryData_aaabf(mform = {},nform={}){
    //构建查询参数
    let queryForm = Object.assign({},this.form_aaabf)
    queryForm = Object.assign(queryForm,nform||{})
    
    //处理多个日期选择
    queryForm[this.form_aaabf.single_date_range_name] = this.form_aaabf.single_date_range_value
    queryForm[this.form_aaabf.single_text_name] = this.form_aaabf.single_text_value
   
    //处理日期范围选择
    let system = []
    let systemNodes = this.$refs.cascader_aaaah.getCheckedNodes() || []
    systemNodes.forEach(v => {
      system.push(v.value)
    })
    queryForm.system = system.join(",")
      queryForm.dmaster = (queryForm.dmaster||[]).join(",")
      queryForm.pmstatus = (queryForm.pmstatus||[]).join(",")
      queryForm.start_create_time = null
      queryForm.end_create_time = null
    if(queryForm.create_time && queryForm.create_time.length > 1){
      queryForm.start_create_time = queryForm.create_time[0]
      queryForm.end_create_time = queryForm.create_time[1]
    }
      queryForm.start_req_ass_time = null
      queryForm.end_req_ass_time = null
    if(queryForm.req_ass_time && queryForm.req_ass_time.length > 1){
      queryForm.start_req_ass_time = queryForm.req_ass_time[0]
      queryForm.end_req_ass_time = queryForm.req_ass_time[1]
    }
      queryForm.start_tch_sol_ass_time = null
      queryForm.end_tch_sol_ass_time = null
    if(queryForm.tch_sol_ass_time && queryForm.tch_sol_ass_time.length > 1){
      queryForm.start_tch_sol_ass_time = queryForm.tch_sol_ass_time[0]
      queryForm.end_tch_sol_ass_time = queryForm.tch_sol_ass_time[1]
    }
      queryForm.start_test_case_time = null
      queryForm.end_test_case_time = null
    if(queryForm.test_case_time && queryForm.test_case_time.length > 1){
      queryForm.start_test_case_time = queryForm.test_case_time[0]
      queryForm.end_test_case_time = queryForm.test_case_time[1]
    }
      queryForm.start_join_test_time = null
      queryForm.end_join_test_time = null
    if(queryForm.join_test_time && queryForm.join_test_time.length > 1){
      queryForm.start_join_test_time = queryForm.join_test_time[0]
      queryForm.end_join_test_time = queryForm.join_test_time[1]
    }
      queryForm.start_checkin_test_time = null
      queryForm.end_checkin_test_time = null
    if(queryForm.checkin_test_time && queryForm.checkin_test_time.length > 1){
      queryForm.start_checkin_test_time = queryForm.checkin_test_time[0]
      queryForm.end_checkin_test_time = queryForm.checkin_test_time[1]
    }
      queryForm.start_complete_test_time = null
      queryForm.end_complete_test_time = null
    if(queryForm.complete_test_time && queryForm.complete_test_time.length > 1){
      queryForm.start_complete_test_time = queryForm.complete_test_time[0]
      queryForm.end_complete_test_time = queryForm.complete_test_time[1]
    }
      queryForm.start_prod_deploy_time = null
      queryForm.end_prod_deploy_time = null
    if(queryForm.prod_deploy_time && queryForm.prod_deploy_time.length > 1){
      queryForm.start_prod_deploy_time = queryForm.prod_deploy_time[0]
      queryForm.end_prod_deploy_time = queryForm.prod_deploy_time[1]
    }

    queryForm[this.form_aaabf.single_date_range_name] = null
    queryForm.single_date_range_value = null
    queryForm.single_date_range_name = null

    queryForm.single_text_value = null
    queryForm.single_text_name = null
 
    //处理关联表dev_plan dev_plan dev_plan
   
    //发送查询请求
    let that = this
    that.conf.loading = true
    //构建统计查询
  //数据查询
  this.$theia.http.get("/ws/dev/plan/query",queryForm).then(res=>{
      if((res.items||[]).length < (queryForm.ps||10)){
        that.form_aaabf.disabled = true
      }
      that.conf.loading = false
      that.dataList_aaabf = res.items||[]
      that.total_aaabf = res.count
      that.resetItemData_aaabf(that,that.dataList_aaabf)
    });
  },

  resetItemData_aaabf(that,lst){
    lst.forEach(item => {
      item.__raw = Object.assign({}, item)
    item.system_label = that.$theia.enum.getName("olb_system",item.system)
    item.source_label = that.$theia.enum.getName("source",item.source)
    item.priority_label = that.$theia.enum.getName("PRI",item.priority)
    item.pmaster_label = that.$theia.enum.getName("pmaster",item.pmaster)
    item.dmaster_label = that.$theia.enum.getName("dmaster",item.dmaster)
    item.tmaster_label = that.$theia.enum.getName("tmaster",item.tmaster)
    item.omaster_label = that.$theia.enum.getName("dmaster",item.omaster)
    item.pmstatus_label = that.$theia.enum.getName("pmstatus",item.pmstatus)
    item.dstatus_label = that.$theia.enum.getName("dstatus",item.dstatus)
    item.creator_label = that.$theia.enum.getName("user_account",item.creator)
    item.lob_id_label = that.$theia.enum.getName("my_business_line",item.lob_id)
    item.archive_status_label = that.$theia.enum.getName("archive_status",item.archive_status)
    item.plan_id_progress = item.plan_id
    item.name_progress = item.name
    item.system_progress = item.system
    item.source_progress = item.source
    item.priority_progress = item.priority
    item.pmaster_progress = item.pmaster
    item.dmaster_progress = item.dmaster
    item.tmaster_progress = item.tmaster
    item.omaster_progress = item.omaster
    item.pmstatus_progress = item.pmstatus
    item.dstatus_progress = item.dstatus
    item.create_time_progress = item.create_time
    item.creator_progress = item.creator
    item.content_progress = item.content
    item.req_ass_time_progress = item.req_ass_time
    item.tch_sol_ass_time_progress = item.tch_sol_ass_time
    item.test_case_time_progress = item.test_case_time
    item.join_test_time_progress = item.join_test_time
    item.checkin_test_time_progress = item.checkin_test_time
    item.complete_test_time_progress = item.complete_test_time
    item.prod_deploy_time_progress = item.prod_deploy_time
    item.sponsor_progress = item.sponsor
    item.lob_id_progress = item.lob_id
    item.archive_status_progress = item.archive_status
    item.archive_time_progress = item.archive_time
    // 计算日期占比
    item.progress_progress = that.$js.process.getDays(item.req_ass_time,item.prod_deploy_time)
    item.le_plan_id = item.plan_id
    item.le_name = item.name
    item.le_system = item.system
    item.le_source = item.source
    item.le_priority = item.priority
    item.le_pmaster = item.pmaster
    item.le_dmaster = item.dmaster
    item.le_tmaster = item.tmaster
    item.le_omaster = item.omaster
    item.le_pmstatus = item.pmstatus
    item.le_dstatus = item.dstatus
    item.le_create_time = that.$theia.str.dateFormat(item.create_time,'MM/dd HH:mm')
    item.le_creator = item.creator
    item.le_content = item.content
    item.le_req_ass_time = that.$theia.str.dateFormat(item.req_ass_time,'MM/dd HH时')
    item.le_tch_sol_ass_time = that.$theia.str.dateFormat(item.tch_sol_ass_time,'MM/dd HH时')
    item.le_test_case_time = that.$theia.str.dateFormat(item.test_case_time,'MM/dd HH时')
    item.le_join_test_time = that.$theia.str.dateFormat(item.join_test_time,'MM/dd HH时')
    item.le_checkin_test_time = that.$theia.str.dateFormat(item.checkin_test_time,'MM/dd HH时')
    item.le_complete_test_time = that.$theia.str.dateFormat(item.complete_test_time,'MM/dd HH时')
    item.le_prod_deploy_time = that.$theia.str.dateFormat(item.prod_deploy_time,'MM/dd HH时')
    item.le_sponsor = item.sponsor
    item.le_lob_id = item.lob_id
    item.le_archive_status = item.archive_status
    item.le_archive_time = item.archive_time
    item.checkin_test_time = that.$theia.str.dateFormat(item.checkin_test_time,'MM/dd HH时')
    item.prod_deploy_time = that.$theia.str.dateFormat(item.prod_deploy_time,'MM/dd HH时')
    item.progress = that.$theia.str.numberFormat(item.progress,'y')
    if(item.children){
      that.resetItemData_aaabf(that,item.children)
    }
  });
  },
    handleSelectionChange(lst=[]){
      this.bcheck = []
      lst.forEach(f=>{
        this.bcheck.push(f.plan_id)
      })
    },
    loadEnums_aaabf(){
        //系统
        this.systemList = this.$theia.enum.getTree("olb_system","",this.$theia.user.get("lob_id"),2)
        //研发
        this.dmasterList = this.$theia.enum.get("dmaster","",this.$theia.user.get("lob_id"),false,"")
        //项目状态
        this.pmstatusList = this.$theia.enum.get("pmstatus","","" ,false,"")
        //业务线
        this.lob_idList = this.$theia.enum.getTree("my_business_line","","" ,99)
        //归档状态
        this.archive_statusTabList = this.$theia.enum.get("archive_status","","",false,"")
        //系统
        this.systemList = this.$theia.enum.get("olb_system","",this.$theia.user.get("lob_id"),false,"")
        //优先级
        this.priorityList = this.$theia.enum.get("PRI","","" ,false,"")
        //产品
        this.pmasterList = this.$theia.enum.get("pmaster","",this.$theia.user.get("lob_id"),false,"")
        //研发
        this.dmasterList = this.$theia.enum.get("dmaster","",this.$theia.user.get("lob_id"),false,"")
        //测试
        this.tmasterList = this.$theia.enum.get("tmaster","",this.$theia.user.get("lob_id"),false,"")
        //项目状态
        this.pmstatusList = this.$theia.enum.get("pmstatus","","" ,false,"")
        //研发状态
        this.dstatusList = this.$theia.enum.get("dstatus","","" ,false,"")
    },

  handleSizeChange(ps){
    this.form_aaabf.ps = ps
    this.onQuery(true)
  },
  onlob_idChange(v){
    this.$theia.user.set("lob_id",v)
    this.loadEnums_aaabf()
    this.onQuery(true)
  },
  handleCurrentChange(pi){
    this.form_aaabf.pi = pi
    this.onQuery()
  },
  onQuery(refresh){
    if(refresh){
      this.form_aaabf.pi = 1
    }
    this.queryData_aaabf ()
  },
show_cmpnt(cmd,row){
  if(this.cmpnt_funcs[cmd]){
    this.cmpnt_funcs[cmd](row)
  }
},
  //详情
  show_cmpnt_aaabl(fm = {}){
    let query = {} 
    query.plan_id = fm.plan_id|| fm.le_plan_id 
    query.name = fm.name|| fm.le_name 
    query.system = fm.system|| fm.le_system 
    query.source = fm.source|| fm.le_source 
    query.priority = fm.priority|| fm.le_priority 
    query.pmaster = fm.pmaster|| fm.le_pmaster 
    query.dmaster = fm.dmaster|| fm.le_dmaster 
    query.tmaster = fm.tmaster|| fm.le_tmaster 
    query.omaster = fm.omaster|| fm.le_omaster 
    query.pmstatus = fm.pmstatus|| fm.le_pmstatus 
    query.dstatus = fm.dstatus|| fm.le_dstatus 
    query.create_time = fm.create_time|| fm.le_create_time 
    query.creator = fm.creator|| fm.le_creator 
    query.content = fm.content|| fm.le_content 
    query.req_ass_time = fm.req_ass_time|| fm.le_req_ass_time 
    query.tch_sol_ass_time = fm.tch_sol_ass_time|| fm.le_tch_sol_ass_time 
    query.test_case_time = fm.test_case_time|| fm.le_test_case_time 
    query.join_test_time = fm.join_test_time|| fm.le_join_test_time 
    query.checkin_test_time = fm.checkin_test_time|| fm.le_checkin_test_time 
    query.complete_test_time = fm.complete_test_time|| fm.le_complete_test_time 
    query.prod_deploy_time = fm.prod_deploy_time|| fm.le_prod_deploy_time 
    query.sponsor = fm.sponsor|| fm.le_sponsor 
    query.lob_id = fm.lob_id|| fm.le_lob_id 
    query.archive_time = fm.archive_time|| fm.le_archive_time 
    query.plan_id = fm.plan_id

      //2023.4.18添加---

    query.$title="详情"
    this.$refs.cmpnt_aaabl.show(query)
  },
  //添加研发计划
  show_cmpnt_aaabm(fm = {}){
    let query = {} 
    query.name = fm.name|| fm.le_name 
    query.system = fm.system|| fm.le_system 
    query.source = fm.source|| fm.le_source 
    query.priority = fm.priority|| fm.le_priority 
    query.pmaster = fm.pmaster|| fm.le_pmaster 
    query.dmaster = fm.dmaster|| fm.le_dmaster 
    query.tmaster = fm.tmaster|| fm.le_tmaster 
    query.omaster = fm.omaster|| fm.le_omaster 
    query.pmstatus = fm.pmstatus|| fm.le_pmstatus 
    query.dstatus = fm.dstatus|| fm.le_dstatus 
    query.content = fm.content|| fm.le_content 
    query.req_ass_time = fm.req_ass_time|| fm.le_req_ass_time 
    query.tch_sol_ass_time = fm.tch_sol_ass_time|| fm.le_tch_sol_ass_time 
    query.test_case_time = fm.test_case_time|| fm.le_test_case_time 
    query.join_test_time = fm.join_test_time|| fm.le_join_test_time 
    query.checkin_test_time = fm.checkin_test_time|| fm.le_checkin_test_time 
    query.complete_test_time = fm.complete_test_time|| fm.le_complete_test_time 
    query.prod_deploy_time = fm.prod_deploy_time|| fm.le_prod_deploy_time 
    query.sponsor = fm.sponsor|| fm.le_sponsor 
    query.plan_id = fm.plan_id

      //2023.4.18添加---

    query.$title="添加研发计划"
    this.$refs.cmpnt_aaabm.show(query)
  },
  //编辑
  show_cmpnt_aaabi(fm = {}){
    let query = {} 
    query.name = fm.name|| fm.le_name 
    query.system = fm.system|| fm.le_system 
    query.source = fm.source|| fm.le_source 
    query.priority = fm.priority|| fm.le_priority 
    query.pmaster = fm.pmaster|| fm.le_pmaster 
    query.dmaster = fm.dmaster|| fm.le_dmaster 
    query.tmaster = fm.tmaster|| fm.le_tmaster 
    query.omaster = fm.omaster|| fm.le_omaster 
    query.pmstatus = fm.pmstatus|| fm.le_pmstatus 
    query.dstatus = fm.dstatus|| fm.le_dstatus 
    query.content = fm.content|| fm.le_content 
    query.req_ass_time = fm.req_ass_time|| fm.le_req_ass_time 
    query.tch_sol_ass_time = fm.tch_sol_ass_time|| fm.le_tch_sol_ass_time 
    query.test_case_time = fm.test_case_time|| fm.le_test_case_time 
    query.join_test_time = fm.join_test_time|| fm.le_join_test_time 
    query.checkin_test_time = fm.checkin_test_time|| fm.le_checkin_test_time 
    query.complete_test_time = fm.complete_test_time|| fm.le_complete_test_time 
    query.prod_deploy_time = fm.prod_deploy_time|| fm.le_prod_deploy_time 
    query.sponsor = fm.sponsor|| fm.le_sponsor 
    query.plan_id = fm.plan_id

      //2023.4.18添加---

    query.$title="编辑"
    this.$refs.cmpnt_aaabi.show(query)
  },
  //计划时间
  show_cmpnt_aaabq(fm = {}){
    let query = {}
    query.m = fm.fx|| fm.le_fx 
    query.plan_id = fm.plan_id

      //2023.4.18添加---
    query.plan_id = (this.bcheck||[]).join(",")

    query.$title="计划时间"
    this.$refs.cmpnt_aaabq.show_aaabq(query)
  },
  //状态变更
  show_cmpnt_aaabr(fm = {}){
    let query = {}
    query.m = fm.w|| fm.le_w 
    query.plan_id = fm.plan_id

      //2023.4.18添加---
    query.plan_id = (this.bcheck||[]).join(",")

    query.$title="状态变更"
    this.$refs.cmpnt_aaabr.show_aaabr(query)
  },
  //上线发布
  show_cmpnt_aaabn(fm = {}){
    let query = {} 
    query.name = fm.name|| fm.le_name 
    query.system = fm.system|| fm.le_system 
    query.source = fm.source|| fm.le_source 
    query.priority = fm.priority|| fm.le_priority 
    query.pmaster = fm.pmaster|| fm.le_pmaster 
    query.dmaster = fm.dmaster|| fm.le_dmaster 
    query.tmaster = fm.tmaster|| fm.le_tmaster 
    query.omaster = fm.omaster|| fm.le_omaster 
    query.pmstatus = fm.pmstatus|| fm.le_pmstatus 
    query.dstatus = fm.dstatus|| fm.le_dstatus 
    query.content = fm.content|| fm.le_content 
    query.req_ass_time = fm.req_ass_time|| fm.le_req_ass_time 
    query.tch_sol_ass_time = fm.tch_sol_ass_time|| fm.le_tch_sol_ass_time 
    query.test_case_time = fm.test_case_time|| fm.le_test_case_time 
    query.join_test_time = fm.join_test_time|| fm.le_join_test_time 
    query.checkin_test_time = fm.checkin_test_time|| fm.le_checkin_test_time 
    query.complete_test_time = fm.complete_test_time|| fm.le_complete_test_time 
    query.prod_deploy_time = fm.prod_deploy_time|| fm.le_prod_deploy_time 
    query.sponsor = fm.sponsor|| fm.le_sponsor 
    query.plan_id = fm.plan_id

      //2023.4.18添加---
    query.plan_id = this.bcheck

    query.$title="上线发布"
    this.$refs.cmpnt_aaabn.show(query)
  },
  //任务归档
  show_cmpnt_aaabo(fm = {}){
    let query = {} 
    query.name = fm.name|| fm.le_name 
    query.plan_id = fm.plan_id

      //2023.4.18添加---
    query.plan_id = (this.bcheck||[]).join(",")

    query.$title="任务归档"
    this.$refs.cmpnt_aaabo.show_aaabo(query)
  },
  //激活计划
  show_cmpnt_aaabp(fm = {}){
    let query = {} 
    query.name = fm.name|| fm.le_name 
    query.plan_id = fm.plan_id

      //2023.4.18添加---
    query.plan_id = (this.bcheck||[]).join(",")

    query.$title="激活计划"
    this.$refs.cmpnt_aaabp.show_aaabp(query)
  },
  //暂停
  show_cmpnt_aaabg(fm = {}){
    let query = {} 
    query.name = fm.name|| fm.le_name 
    query.plan_id = fm.plan_id

      //2023.4.18添加---

    query.$title="暂停"
    this.$refs.cmpnt_aaabg.show_aaabg(query)
  },
  //恢复
  show_cmpnt_aaabh(fm = {}){
    let query = {} 
    query.name = fm.name|| fm.le_name 
    query.plan_id = fm.plan_id

      //2023.4.18添加---

    query.$title="恢复"
    this.$refs.cmpnt_aaabh.show_aaabh(query)
  },
  //删除
  show_cmpnt_aaabk(fm = {}){
    let query = {} 
    query.plan_id = fm.plan_id|| fm.le_plan_id 
    query.plan_id = fm.plan_id

      //2023.4.18添加---

    query.$title="删除"
    this.$refs.cmpnt_aaabk.show_aaabk(query)
  },
},
};
</script>
<style>
.el-dialog{
  border-radius:5px !important
}
</style>
<style scoped>
.el-form-item {
  margin-right: 10px !important;
}

.opts .el-button--small {
  margin-left: 0px;
  padding-left: 0px;
  margin-right: 4px;
}

/deep/.el-table td.el-table__cell div {
  vertical-align: middle;
}
/deep/.el-button+.el-dropdown{
  margin-left:0px;
}
/deep/.el-button+.el-button{
  margin-left:0px;
}
.el-button{
  padding-left: 6px !important;
  padding-right: 6px !important;
}
.blist {
  margin-bottom: 8px;
  width: 100%;
}

.blist .el-radio-group {
  margin-right: 8px;
}

.ddl {
  margin-bottom: 8px;
  width: 100%;

}

.ddl .el-dropdown {
  margin-right: 8px;
}

.listbar {
  margin-bottom: 8px;
  text-align: center;
}
 .el-dropdown-link {
  cursor: pointer;
  color: var(--el-color-primary);
  display: flex;
  align-items: center;
  font-size: 0.65rem;
}
/deep/.el-button--small{
  padding: 5px 4px;
}

.prepend /deep/.el-input__wrapper{
  border-top-right-radius:0;
  border-bottom-right-radius:0;
}
.prepend+/deep/.el-date-editor{
  border-top-left-radius:0;
  border-bottom-left-radius:0;
  border-left:0;
}

</style>